import Vue 			from 'vue'
import axios 		from 'axios'

Vue.prototype.$http = axios

class MUtil{
	
	request(parm){
		const vm = new Vue();
		let pathUrl = "http://47.106.36.211:8080/";
		return new Promise( (resolve,reject)=>{
            vm.$http({
                method		: parm.type  	||		'get',
				url			: pathUrl+parm.url  	|| 		'',
				dataType	: parm.dataType ||  	'json',
				params		: parm.data     || 		null,
            //这里可以添加axios文档中的各种配置
            }).then(function (res) {
                // 数据请求成功
                if( res.status === 200 ){
                    // 判断resolve是不是一个函数是的话就传过去
                    typeof resolve === 'function' && resolve(res.data)
                }
                else{
                    typeof reject === 'function' && reject(res.data.errMsg)
                }
            }).catch(function (err) {
                typeof reject === 'function' && reject(err.statusText)
            })
		});
	}
	
	// 获取URL参数
	getUrlParam(name){
		// xxx.com?parm=123&parm1=456
		let queryString = window.location.search.split('?')[1] || '',  //parm=123&parm1=456
			reg 		= new RegExp( "(^|&)" + name +"=([^&]*)(&|$)"),
			result 		= queryString.match(reg)
		// result : ['parm=123','','123',&]
		return result ? decodeURIComponent(result[2]) : null
	}
	timestampToTime( str ) {    //时间戳为10位需*1000，时间戳为13位的话不需乘1000在转成yymmdd
        var date = new Date( str );  
        var y = date.getFullYear();    
        var m = date.getMonth() + 1;    
        m = m < 10 ? ('0' + m) : m;    
        var d = date.getDate();    
        d = d < 10 ? ('0' + d) : d;    
        var h = date.getHours();  
        h = h < 10 ? ('0' + h) : h;  
        var minute = date.getMinutes();  
        var second = date.getSeconds();  
        minute = minute < 10 ? ('0' + minute) : minute;    
        second = second < 10 ? ('0' + second) : second;   
        return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;    
    }
	// 成功提示
	successTips(resMsg){
		alert( resMsg || '操作成功~' );
	}
	
	// 错误提示
	errorTips(errMsg){
		alert( errMsg || '好像哪里不对了~' );
	}
	// 存储内容
	setStorage(name,data){
		let dataType = typeof data
		// 这是JSON类型
		if(dataType === 'object'){
			window.localStorage.setItem(name,JSON.stringify(data));
		}
		// 基础类型
		else if( ['number','string','boolean'].indexOf(dataType) >= 0){
			window.localStorage.setItem(name,data);
		}
		else{
			alert('该类型不能用于本地存储')
		}
	}
}

export default MUtil;
